1
ปัญหาความหลากหลายของผู้ผลิตในด้านคอมพิวเตอร์ประสิทธิภาพสูง (HPC)
AI022Lesson 1
00:00

ปัญหา ความหลากหลายของผู้ผลิต เป็นการแบ่งแยกเชิงยุทธศาสตร์และทางเทคนิคในด้านคอมพิวเตอร์ประสิทธิภาพสูง (HPC) ซึ่งเป็นที่มาของการใช้ซอฟต์แวร์เพียงหนึ่งเดียวเป็นเวลานานกว่าทศวรรษ แต่การเกิดขึ้นของฮาร์ดแวร์ระดับเอ็กซาสเคลที่แข่งขันกัน เช่น Frontier และ El Capitan (AMD) พร้อมกับการใช้งานแบบดั้งเดิมของ NVIDIA ได้บังคับให้เกิด "การแยกสายพัฒนา"

1. ความไม่สม่ำเสมอของฮาร์ดแวร์ และ โครงสร้างแยกประเภท

นักพัฒนาเผชิญกับผลกระทบจากการแยกประเภทผู้ผลิต ซึ่งโค้ดจะไม่สามารถทำงานร่วมกันได้ทั้งในด้านกายภาพและตรรกะระหว่างสถาปัตยกรรมต่าง ๆ การเลือกใช้ API แบบเฉพาะเจาะจงจากผู้ผลิตจะนำไปสู่ การผูกพันกับผู้ผลิตจำเป็นต้องเพิ่มเวลาบำรุงรักษารวมถึงสองเท่า เพื่อรองรับระบบคลัสเตอร์ที่มีความหลากหลาย

2. การแตกแยกของระบบนิเวศ

ระบบถูกกำหนดโดยตัวแปรสภาพแวดล้อมที่ไม่สามารถใช้ร่วมกันได้ ซึ่งทำให้เกิดความขัดแย้งในระบบการสร้างซอฟต์แวร์:

  • CUDA_PATH: ไดเรกทอรีหลักสำหรับเครื่องมือของ NVIDIA
  • HSA_PATH: ตำแหน่งของสถาปัตยกรรมระบบแบบผสมผสานสำหรับระบบ ROCm ของ AMD
โครงสร้างแยกประเภทของ NVIDIACUDA_PATHโครงสร้างแยกประเภทของ AMDHSA_PATHปัญหาของนักพัฒนา

3. ภาระในการบำรุงรักษาระบบ

การนำโค้ดเดิมไปใช้ใหม่โดยทั่วไปต้องมีการเขียนใหม่ทั้งหมดทั้งในส่วนของเคอร์เนลและการจัดการหน่วยความจำ หากไม่มีชั้นที่สามารถย้ายไปใช้ได้ โค้ดรองจะต้องเผชิญกับ การเสื่อมสภาพของโค้ด (bit rot) เมื่อความก้าวหน้าหยุดชะงัก ขณะที่วิศวกรกำลังพยายามจัดการกับการคอมไพล์ตามเงื่อนไข

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>